package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.ManBean;

import java.time.LocalDate;
import java.util.List;

public interface IManService {
    /**
     * 添加公民
     * @param manBean 公民对象
     * @return 新加公民编号
     */
    public int add(ManBean manBean);

    /**
     * 添加公民集合
     * @param manList 公民集合
     */
    public void addList(List<ManBean> manList);

    /**
     * 删除公民
     * @param id 公民id
     */
    public void del(int id);

    /**
     * 删除多个公民
     * @param idArray 公民id数组
     */
    public void delMore(int[] idArray);

    /**
     * 按编号修改生日
     * @param id 公民编号
     * @param birthday 生日
     */
    public void update(int id, LocalDate birthday);

    /**
     * 查询所有公民
     * @return 公民集合
     */
    public List<ManBean> findAll();

    /**
     * 按编号查询公民
     * @param id 公民id
     * @return 公民对象
     */
    public ManBean findById(int id);

    /**
     * 按姓名查询公民
     * @param name 公民姓名
     * @return 公民集合
     */
    public List<ManBean> findByName(String name);

    /**
     * 动态条件查询公民
     * @param name 公民姓名
     * @param startDate 起始生日
     * @param endDate 结束生日
     * @return 公民集合
     */
    public List<ManBean> findByItem(String name,LocalDate startDate,LocalDate endDate);

    /**
     * 统计公民人数
     * @return 公民人数
     */
    public int countMan();

    /**
     * 分页查询所有记录
     * @param pageNO 页码
     * @return 分页对象
     */
    public CutPageBean<ManBean>cutAll(int pageNO);

    /**
     * 动态条件分页查询
     * @param PageNO 页码
     * @param name 姓名
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 分页对象
     */
    public CutPageBean<ManBean> cutByItem(int PageNO, String name,
            LocalDate startDate,LocalDate endDate);
}
